CXX=g++ -std=c++14
#src文件所在目录
SRC_DIR=src
#build文件所在目录
BUILD_DIR=obj

#获取src目录下的所有cc文件
SRCS=$(wildcard $(SRC_DIR)/*.cc)
#提出按已.cc后缀为.o文件
#$(patsubst <pattern>,<replacement>,<text>)
OBJ=$(patsubst $(SRC_DIR)/%.cc,$(BUILD_DIR)/%.o,$(SRCS))
#编译选项
INCLUDE=-I include/
target=test

#链接
$(target):$(OBJ) test.cc
	$(CXX) -g $(INCLUDE) $^ -o $@
#编译
$(BUILD_DIR)/%.o:$(SRC_DIR)/%.cc
	@mkdir -p $(BUILD_DIR)
	$(CXX) -g $(INCLUDE) -c $< -o $@



.phony:clean
clean:
	@echo "cleaning..."
	rm -f $(OBJ) $(target)

.phony:objprint
objprint:
	@echo $(OBJ)
	
.phony:srcprint
srcprint:
	@echo $(SRCS)